home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / StartupTools / PicBoot2_3.lha / PicBoot.Man < prev    next >
Text File  |  1994-08-30  |  25KB  |  650 lines

  1.  
  2.  
  3.    This file describes PicBoot, version 2.3, a program to show an IFF
  4. ILBM or GIF picture during boot.
  5.  
  6. Introduction
  7. ************
  8.  
  9.    Have you removed all output in your 2.0+ startup, and only see a
  10. black screen during boot? Wouldn't it be nice to have a picture
  11. instead? A picture that disappeared when the Workbench screen opened?
  12.  
  13.    If so, PicBoot is certainly a program for you. What it will do is
  14. to read any IFF file containing an ILBM picture - or a GIF file - and
  15. show that picture. As soon as the Workbench screen appears (or you
  16. press any mouse-button), the picture will go away.
  17.  
  18.    Features:
  19.  
  20.    *  Fast picture unpacking, using highly optimized assembler. The
  21.      entire picture is read into memory and then unpacked. This applies
  22.      both to the IFF and the GIF unpacker.
  23.  
  24.    *  Optional auto-detaching; the picture is loaded as fast as
  25.      possible, with minimal memory fragmentation.
  26.  
  27.    *  A picture can be shown a user-specified time after the
  28.      Workbench screen opens (see DELAY and PATCH).
  29.  
  30.    *  Extremely flexible argument parser.
  31.  
  32.    *  Random select among any number of pictures, in several different
  33.      ways.
  34.  
  35.    *  Force a certain display mode for a picture, even if saved with
  36.      another (can be selected on a picture by picture basis).
  37.  
  38.    *  The comment field of a file may be used to specify options.
  39.  
  40.    *  Optional screen centering (horisontally).
  41.  
  42. System requirements
  43. *******************
  44.  
  45.    Apart from OS 2.04+, PicBoot doesn't require any special
  46. libraries. The only non-ROM library required is iffparse.library
  47. (which normally resides in Libs:).
  48.  
  49.        PicBoot have full support for OS 3.0+ and AGA graphics.
  50.  
  51. Legal information
  52. *****************
  53.  
  54.    This program is freeware. You may copy and use this program freely,
  55. as long as the following conditions are met:
  56.  
  57.    *  All files are copied in an unmodified state. If additional
  58.      information is needed, place it in a separate file. Preferably
  59.      redistribute in the original archive form (*.Lha).
  60.  
  61.      Exception: So called BBS ads may not be added!
  62.  
  63.    *  The copying is done on a non-commercial and non-profit basis
  64.      only. A copy fee to cover media costs, postage etc. may be
  65.      charged. This fee may not exceed the fee to obtain an AmigaLibDisk
  66.      from Fred Fish.
  67.  
  68.    *  The copier/spreader is not claiming the Copyright © of this
  69.      program.
  70.  
  71.    Any exceptions from these restrictions requires written permission
  72. from the author, Magnus Holmgren (see Author contact).
  73.  
  74. Disclaimer
  75. ==========
  76.  
  77.    Magnus Holmgren neither assume nor accept any responsibility for the
  78. use or misuse of these programs. He also will not be held liable for
  79. damages or any compensation due to loss of profit or any other damages
  80. arising out of the use, or inability to use these programs.
  81.  
  82.    Magnus Holmgren will not be liable for any damage arising from the
  83. failure of these programs to perform as described, or any destruction
  84. of other programs or data residing on a system attempting to run the
  85. programs. While he know of no damaging errors, the user of these
  86. programs uses it at his or her own risk.
  87.  
  88. Usage
  89. *****
  90.  
  91.    To activate PicBoot, add a line to your S:Startup-Sequence,
  92. looking something like this:
  93.  
  94.      PicBoot Pics:Hi-res/Calvin01.Pic DETACH
  95.  
  96. Or, if you have a list of files in "Work:Text/PicList":
  97.  
  98.      PicBoot Work:Text/PicList LIST DETACH
  99.  
  100.    Or, if your drawer Pics:BootPics contains some pictures:
  101.  
  102.      PicBoot Pics:BootPics/#?.(Pic|Gif) DETACH
  103.  
  104.    This line should be located near the beginning in the
  105. S:Startup-Sequence (no point in placing it near the LoadWB command,
  106. is it? :), but keep it after SetPatchPicBoot will only output any
  107. text if it fails, so don't re-direct its output. Note however that if
  108. you place PicBoot before any additional monitors are installed,
  109. you'll be stuck with the default.monitor for showing your picture. The
  110. DEFAULT switch may be of help here.
  111.  
  112.    Make sure no program makes any output in the CLI window, since then
  113. the Workbench screen will open with a boring CLI-window instead...
  114.  
  115.    Options:
  116.  
  117. FILES
  118. =====
  119.  
  120.    This is the only required argument. Here you specify the name of the
  121. picture you want to view. You may enter several files here, in which
  122. case PicBoot will select one of them randomly, and show that one.
  123.  
  124.    The name(s) can also be the name of an ASCII file containing a
  125. filename list if you specified the LIST option.
  126.  
  127.    The name(s) can also be the name of a drawer, in which case
  128. PicBoot will randomly select one of the files in this drawer. To use
  129. a pattern during this scanning, simply enter the pattern like it had
  130. been the name of a file in the drawer. Example:
  131.  
  132.      Work:Pics/#?.gif
  133.  
  134. which would make PicBoot select a file ending in .gif in the drawer
  135. Work:Pics
  136.  
  137.    If the comment field of the selected listfile or picture starts with
  138. "*PicBoot*: " (case sensitive), then the rest of the comment is taken
  139. to be arguments, like those in a LIST file.
  140.  
  141.    You may freely mix picture and drawer names. Listfiles can only be
  142. mixed with the other two ones, if the comment contains the LIST switch.
  143. In that case, the LIST argument should not be used on the command line
  144. (or in a list file). Ofcourse you can random select among list files
  145. with the "drawer scanner" if you like.. :)
  146.  
  147. MODEID
  148. ======
  149.  
  150.    Short form: M
  151.  
  152.    NOTE: This argument is mainly for the more "advanced" user.
  153.  
  154.    This argument should be a decimal number specifying which screen
  155. mode to use.  It basically replaces the so called CAMG hunk in an ILBM
  156. file (since it contains which screen mode to use). Thus, you must
  157. select mode with care, or else the picture will look like trash
  158. (nothing more serious can happen. I hope! :). When showing GIF files,
  159. it will override the internal "best mode" routines (which aren't good
  160. at all. But I haven't bothered to add code to make them better.. :).
  161.  
  162.    To make it easier for you to find out which display mode id to use,
  163. there is a small program called GetModeID included, which uses the
  164. ReqTools or Asl screenmode requester. Simply select the display mode
  165. you want, and it will print out the number you should use here.  See
  166. GetModeID.
  167.  
  168.    The mode id will be passed through the same validity checking as a
  169. normal so called CAMG chunk, so PicBoot should handle bad values
  170. properly (although I haven't tested this much.. :).
  171.  
  172. LIST
  173. ====
  174.  
  175.    Short form: L
  176.  
  177.    If this switch is specified, PicBoot will interpret the files in
  178. the FILES argument as names of files containing a list of pictures (or
  179. rather, argument lines). PicBoot will then randomly select one of the
  180. lines in the selected file, and process it almost like a normal argument
  181. line. The only difference is that you can't use the DETACH, DELAY or
  182. PATCH arguments. These arguments may not be specified in a listfile (no
  183. point in doing it anyway).
  184.  
  185.    The listfile is an ASCII (text) file with a simple layout. On the
  186. first line you specify the number of argument lines in the file. This is
  187. usually <number of lines in file>-2 (one line is occupied by the count,
  188. and the other is the last linefeed). If this value is zero, then
  189. PicBoot will exit silently. The rest of the file is simply the
  190. argument lines to choose from. An example:
  191.  
  192.      4
  193.      Work:Pics/Comics/Calvin02.Pic MODEID 137220
  194.      Work:Pics/Comics/Calvin03.Gif
  195.      Work:Text/MoreCalvins.txt LIST CENTER ON
  196.      Work:Pics/Misc/#?.Gif
  197.  
  198.    Note that any arguments specified from the CLI, or in any previous
  199. listfile, will be taken as the new default value. In the listfile you
  200. may alter this default. This does not include the LIST argument
  201. (ofcourse). It is always turned off before parsing a line.
  202.  
  203.        Warning: Since you may enter a new listfile within a listfile,
  204. you can be caught in an endless loop, constantly changing (maybe to the
  205. same) listfile. No checking for this is done. Also, since there is no
  206. CLI-window around, you have no chance to send PicBoot any CTRL-C, if
  207. PicBoot should happen to listen to this. You have been warned! :)
  208.  
  209.        Note: A line in a listfile may not be more than 512 chars, or
  210. it will be truncated when read. This shouldn't cause any problems I
  211. think..
  212.  
  213. CENTER
  214. ======
  215.  
  216.    Short form: C
  217.  
  218.    Possible arguments: YES, ON, NO, OFF. Default is NO.
  219.  
  220.    If this switch is on (argument is YES or ON), PicBoot will center
  221. the picture. This centering should work fine for most screen modes, but
  222. one can never now.. :) If a screen promotor is active, then
  223. PicBoot can get it wrong (when the screen is opened in another mode
  224. than PicBoot had asked for).
  225.  
  226. DEFAULT
  227. =======
  228.  
  229.    Short form: DEF
  230.  
  231.    Possible arguments: YES, ON, NO, OFF. Default is NO.
  232.  
  233.    If this switch is on (argument is YES or ON), PicBoot will force
  234. the picture to use the default.monitor, regardless of what was actually
  235. stored in the picture (in the CAMG chunk). This is needed since very
  236. early in the startup, default.monitor is the only monitor available
  237. (e.g.  multiscan.monitor is normally not available). In the future, I
  238. might add more types of "forcing" (e.g. force a picture to PAL, NTSC or
  239. whatever that might be useful).
  240.  
  241.    This switch also acts on the MODEID parameter, if specified.
  242.  
  243. AUTOSCROLL
  244. ==========
  245.  
  246.    Short form: AS
  247.  
  248.    Possible arguments: YES, ON, NO, OFF. Default is NO.
  249.  
  250.    If this switch is on (argument is YES or ON), the OS 2.0+
  251. autoscrolling of screens will be enabled.
  252.  
  253.        Note: During boot, this switch may make the actual display a
  254. bit smaller than normally possible. There is nothing I can do about
  255. that... :) You can, however, by ensuring that ENV: is properly set up
  256. before PicBoot is started. Or you could try the VIDEOOVERSCAN switch.
  257.  
  258. VIDEOOVERSCAN
  259. =============
  260.  
  261.    Short form: VO
  262.  
  263.    Possible arguments: YES, ON, NO, OFF. Default is NO.
  264.  
  265.    If this switch is on (argument is YES or ON), the visible size of the
  266. opened screen will be as large as the system can handle (assuming the
  267. picture is large enough). Forces AUTOSCROLL to YES.
  268.  
  269. DELAY
  270. =====
  271.  
  272.    Short form: DL
  273.  
  274.    A "problem" with PicBoot is that the Workbench screen first
  275. opens, and then processes the Sys:WBStartup drawer, which takes a
  276. little time. This means that the picture PicBoot shows disappear
  277. before the boot is complete. To avoid this problem, the DELAY switch
  278. can be use to specify the number of ticks (there are 50 ticks each
  279. second) PicBoot will wait after the Workbench screen have opened.
  280.  
  281.    However, this isn't perfect. When the Workbench screen opens, the
  282. PicBoot screen must be brought back to the front again. This causes a
  283. little "flicker". To avoid this, use the PATCH parameter as well (this
  284. feature requires OS 3.0+ to work).
  285.  
  286.    There is a special delay value, 0, which causes PicBoot to wait
  287. until you either press any mouse button, or another program sends
  288. PicBoot a break signal (CTRL-C). The program StopPicBoot was written
  289. to do this.
  290.  
  291. PATCH
  292. =====
  293.  
  294.    Short form: P
  295.  
  296.    If this switch is specified, PicBoot will install a patch in
  297. Intuition, so that the Workbench screen (or rather, any screen
  298. opened, that explicitly doesn't say that the screen shouldn't open
  299. behind the others) doesn't open in front of the PicBoot screen. This
  300. removes the "flicker" that normally occurs when using the DELAY option.
  301. For this option to be useful, the DELAY parameter must be used as well.
  302.  
  303.        Note: This option only works on OS 3.0 or higher. This is due
  304. to the OS (as far as I know), and there is nothing I can do about it
  305. (tech note: Workbench in OS 2.0x doesn't seem to call the open screen
  306. function via the external library vector).
  307.  
  308.        Note: This kind of patching is not a recommended thing to do.
  309. Programs should not do temporary patches like this. However, to avoid
  310. the flickering, there is no alternative.. :)
  311.  
  312.        Note: In case some other program patches the same function
  313. after PicBoot have installed its patch - and you don't have a program
  314. like e.g. SetMan installed - then PicBoot will leave a small memory
  315. allocation behind (6 bytes), to avoid any problems.
  316.  
  317. DETACH
  318. ======
  319.  
  320.    Short form: D
  321.  
  322.    If this switch is specified, PicBoot will detach from its calling
  323. CLI when the picture is fully loaded and displayed. If you specify this
  324. option, you shouldn't "Run" PicBoot. This option will reduce memory
  325. fragmentation, and will ensure that the picture gets loaded quickly. I
  326. don't think this feature will cause any problems, but I added the
  327. switch just in case.
  328.  
  329. Known problems
  330. **************
  331.  
  332.    I do not know of any real bugs in PicBoot. However, certain parts
  333. of the program may still contain bugs. E.g.,  pictures that have a mask
  334. bitplane (mskHasMask) are supported, but since I only have one
  335. (compressed) picture that have a mask, there might be a bug in that
  336. code (can't test it properly).  Please report any problems!
  337.  
  338.    Currently there is no support for SHAM, PCHG and similar "special"
  339. pictures. I'm not sure if this could be implemented in a "clean" way
  340. (that would work on future systems etc). These pictures aren't that
  341. common, and I have an Amiga with AA-graphics, so... :) Color cycling is
  342. currently ignored (I have no need for it).
  343.  
  344.    Interlaced GIF pictures aren't supported, since I don't have any such
  345. picture (well, actually I have ONE :). Besides, the decompression of
  346. such pictures would be slower anyway.
  347.  
  348.        PicBoot doesn't remap GIF files in any way. Even if you have
  349. ECS, GIF files can still be useful. This is because a GIF file can have
  350. from 2 to 256 colors (inclusive). Thus, if you have a program that can
  351. save a 16-color picture as a 16-color GIF file, there will be no
  352. problem to view it with PicBoot.
  353.  
  354.        PicBoot doesn't make use of any chunky to planar hardware, if
  355. it should happen to be installed (e.g. Aikiko). Anyone who have it, so
  356. I can test it if I should decide implement it? :) It would be fairly
  357. simple to do, since my own chunky to planar routines have very similar
  358. restrictions..  :)
  359.  
  360.    The "best mode" routine used in the GIF reader isn't good at all
  361. (this includes the ROM function in OS 3.0+! :). I suggest you use the
  362. MODEID parameter instead (Correction: The ROM function isn't good when
  363. there are several different monitors to choose from. If only one or two
  364. (similar) monitors are available, then the result is usually rather
  365. good).
  366.  
  367.    Pictures with more than 8 bitplanes are currently not supported by
  368. PicBoot.
  369.  
  370.    The centering for (some?) Super72 screens doesn't work. I suspect
  371. this is an OS-bug (I know that PicBoot calculates a reasonable
  372. offset, which Intuition seems to ignore).
  373.  
  374. StopPicBoot
  375. ***********
  376.  
  377.        StopPicBoot is a small program that simply tells PicBoot to
  378. quit, if it should happen to be in memory. This is useful in
  379. combination with the DELAY option. If this is set to 0, PicBoot
  380. expects someone to tell it when it is time to exit, and this is what
  381. StopPicBoot does.
  382.  
  383.    By having StopPicBoot in Sys:WBStartup, then PicBoot will
  384. close its screen when the boot process almost complete (the tooltype
  385. STARTPRI should be very low (-120 or so), so that StopPicBoot is
  386. started as the last program)
  387.  
  388. GetModeID
  389. *********
  390.  
  391.        GetModeID is a simle program that shows a Asl or
  392. ReqTools screenmode requester, whichever is available. The program
  393. will then print out the decimal identifier for the selected screenmode,
  394. suitable for use together with the MODEID parameter. This program can
  395. only be used from a Shell. Example usage:
  396.  
  397.        PicBoot Island.Gif MODEID `GetModeID`
  398.  
  399.    This will first show a screenmode requester (if you have one, that
  400. is), and then show the GIF-picture in the selected screenmode.
  401.  
  402. UnpackILBM
  403. **********
  404.  
  405.        UnpackILBM is another simple program (at least in theory...
  406. :). It will take any IFF ILBM picture and unpack the so called BODY
  407. chunk in it (this is the actual image data). This means that e.g.
  408. PicBoot will be able to display that image a little faster, at least
  409. if loading it from some fast media. Or, if you use
  410. PPShow/ShowIFF, you could repack the picture with
  411. PowerPacker/Xpk, to maximize the compression (as the compression
  412. used in IFF ILBM isn't a very efficient one. But on the other hand, it
  413. is rather fast and simple). But then PicBoot won't be able to load
  414. them.. :) Example usage:
  415.  
  416.        UnpackILBM Island.Pic Island.Pic.NoComp
  417.        UnpackILBM Island.Pic
  418.  
  419.    The first example till unpack the picture to a new one, while the
  420. other will - via a temprary file - overwrite the original picture with
  421. the uncompressed version.
  422.  
  423.        Note: I haven't tested this program that much. I've converted
  424. a few pictures, so it seems to work fine (at least when there aren't any
  425. errors), but one can never now.. Please report any problems!
  426.  
  427.        Note: This program doesn't strip any information. All chunks
  428. will remain. The picture data is only decompressed.
  429.  
  430. Author contact
  431. **************
  432.  
  433.        PicBoot was written by Magnus Holmgren. If you have any
  434. comments etc, feel free to send me a note. You can reach me via
  435. internet on this address:
  436.  
  437.      cmh@augs.se
  438.  
  439.    Fido-net messages should go to "Magnus Holmgren",
  440. 2:204/404.6@fidonet.org.  Snail mail should reach me if you write the
  441. following address on the envelope:
  442.  
  443.      Magnus Holmgren
  444.      Kvarnbergsvägen 4
  445.      S-444 47  Stenungsund
  446.      SWEDEN
  447.  
  448. Version history
  449. ***************
  450.  
  451. Version 1.00
  452. ============
  453.  
  454.    Release date: 08 Feb 93
  455.  
  456.    *  Initial release.
  457.  
  458. Version 1.01
  459. ============
  460.  
  461.    Release date: 14 Feb 93
  462.  
  463.    *  PicBoot would sometimes read past the end of the picture-list
  464.      file, although the file was correct. Also, the last picture would
  465.      never be showed.  Fixed (thanks to Daniel Joseph Oak for
  466.      reporting).
  467.  
  468.    *  Did some tweeking, to make the program smaller. The total gain
  469.      was eaten up by improved error messages though. PicBoot will now
  470.      more accurately report why the display didn't open.
  471.  
  472.    *  Added support for masked ILBMs, since I discovered that I had
  473.      such a picture anyway. :) Since I only have one picture, its hard
  474.      to tell if it really works, but it seems to be ok at least.
  475.  
  476.    *  The autoscrolling of the screen didn't work. Fixed (so now you
  477.      can view pictures larger than the screen, by moving the invisible
  478.      mouse-pointer).
  479.  
  480.    *  Added the CENTER switch.
  481.  
  482. Version 1.02
  483. ============
  484.  
  485.    Release date: 21 Feb 93
  486.  
  487.    *  Added the DEFAULT switch. As Bradley Yen pointed out for me,
  488.      there is (normally) only one monitor available early in the
  489.      startup, and that is default.monitor (and what default.monitor is
  490.      can vary. It can e.g. be PAL or NTSC). This switch will make the
  491.      picture use the default.monitor, regardless what it was saved in.
  492.  
  493.    *  Autoscrolling of screen disabled again, since this would make some
  494.      overscanned pictures clipped, even if this wasn't needed.
  495.  
  496.    *  A bug in the init code fixed.
  497.  
  498. Version 1.03
  499. ============
  500.  
  501.      Release date: 15 Oct 93
  502.  
  503.    *  If an error occured, any black "cover screen" (BLACK option)
  504.      wasn't closed.  Fixed.
  505.  
  506.    *  "Ported" to Macro68. At the same time, the code was cleaned up a
  507.      little. All this saved more than 100 bytes from the program. Most
  508.      of it eaten up by the improvements though.. :)
  509.  
  510.    *  Added the MODEID parameter. rtGetModeID is included to make the
  511.      use of this parameter easier.
  512.  
  513.    *  Docs rewritten using Texinfo.
  514.  
  515.    *  Pictures with mskHasMask were reported to have an "error in
  516.      compressed BODY chunk", due to a bug. Sorry, but I don't have many
  517.      pictures to test this code with.. :)
  518.  
  519.    *  AUTOSCROLL switch added, so that you can scroll around in large
  520.      pictures. Mostly useful when PicBoot is used from the Shell.
  521.      During boot, this can cause the picture to be clipped when it
  522.      isn't necessary.
  523.  
  524.    *  PicBoot will now move the screen to the back before closing it
  525.      (this makes the closing faster). Not needed during boot, but... :)
  526.  
  527.    *  List files much improved! Each line will be parsed almost like
  528.      the normal arguments. Old files should work fine, as long as no
  529.      filename contains spaces, in which case those lines need to be
  530.      quoted.
  531.  
  532.    *  Altered command line syntax slightly. Needed because of the new
  533.      listfile format. Technical note: I'm using a poorly documented
  534.      feature of AmigaDOS: The /T specifier. If the argument following
  535.      the keyword is YES or ON, the switch is turned on, if it is OFF or
  536.      NO, the switch is off.  Any other arguments causes an error.
  537.      Testing revealed the true nature of this specifier... :)
  538.  
  539.    *  Removed the "You need OS 2.04+" error message. An (Exec) Alert
  540.      will be shown instead.
  541.  
  542.    *  PicBoot will now random-select among the FILES arguments, even
  543.      if the LIST argument have been used (previously, only the first
  544.      file was used).
  545.  
  546.    *  VIDEOOVERSCAN switch added. Makes the visible area as large as the
  547.      system can handle. Requested by Stefan Boberg.
  548.  
  549.    *  Screen centering improved. Should work fine with any screen mode
  550.      now (but if you promote the screen, PicBoot will probably get it
  551.      wrong. Unless the promotor also "promotes" QueryOverscan() :).
  552.  
  553. Version 2.0
  554. ===========
  555.  
  556.    Release date: 29 Mar 94
  557.  
  558.    *  BLACK argument removed. Not needed any more, since PicBoot now
  559.      will first allocate the needed memory, decode the picture into
  560.      this memory, and then open the screen. This makes the screen
  561.      opening/closing a little faster too (practically instaneous on my
  562.      A4000/040).
  563.  
  564.    *  Pictures (or rather, brushes) that were less than 16 pixels wide
  565.      wouldn't decompress properly... :)
  566.  
  567.    *  Added support for the CMAPOK flag in the BitMapHeader.bmh_Flags
  568.      (previously called bmh_Pad) field (if this flag is set it
  569.      indicates that the color map contains 8 bits/color rather than 4
  570.      bits/color).
  571.  
  572.    *  Major code cleanup. Made the program somewhat larger, but... :)
  573.  
  574.    *  GIF support added. Should be a little faster than PPShow.. :)
  575.  
  576.    *  The MODEID argument wasn't properly "passed on" to any following
  577.      listfile(s).
  578.  
  579.    *  Rewrote rtGetModeID into GetModeID, that first checks for
  580.      Asl, and then tries with ReqTools before giving up. This new
  581.      version is in C, compiled with DICE, without any startup code, and
  582.      is fully residentable. :) See GetModeID.
  583.  
  584.    *  Included UnpackILBM, that takes any IFF ILBM file (with a BODY
  585.      chunk, i.e. a normal picture) and writes it with an uncompressed
  586.      BODY instead. Written upon user request. See UnpackILBM.
  587.  
  588. Version 2.1
  589. ===========
  590.  
  591.    Release date: 14 May 94
  592.  
  593.    *  The DEFAULT parameter didn't do anything. Fixed
  594.  
  595.    *  UpackILBM and GetModeID updated a little. Version string
  596.      added, recompiled with DICE 3.0 and some other minor changes.
  597.  
  598. Version 2.2
  599. ===========
  600.  
  601.    Release date: 12 Jul 94
  602.  
  603.    *  If the listfile was too short (i.e. not enough number of lines in
  604.      it), PicBoot would crash.
  605.  
  606.    *  Made the detaching code more system friendly. I hope this will
  607.      fix the problems a few users have had.
  608.  
  609.    *  A few minor bugs fixed + some minor optimizations...
  610.  
  611.    *  If the number on the first line in the listfile is 0, then
  612.      PicBoot will exit silently. Now why did I add this... >;)
  613.  
  614.    *  Improved the random number algorithm.
  615.  
  616.    *  Added the DELAY parameter.
  617.  
  618.    *  Added the PATCH parameter.
  619.  
  620.    *  Tweeked the GIF-unpacker a little. Found yet another Macro68
  621.      (V3.170) bug while doing that.. :/ (Watch out for bra.l to other
  622.      sections/modules when generating code for the 68020+. The branch
  623.      target is not correct. :)
  624.  
  625. Version 2.3
  626. ===========
  627.  
  628.    Release date: 30 Aug 94
  629.  
  630.    *  Rewrote startup code and argument parser in C, for easier
  631.      maintainance (and to simplify the implementation of some of the
  632.      features below).
  633.  
  634.    *  You can now also specify a directory (with optional pattern
  635.      matching), and PicBoot will randomly select among the files
  636.      found. As usual, you can use this feature whereever PicBoot used
  637.      to expect a file name.
  638.  
  639.    *  If the comment field of a file that PicBoot will read (i.e. a
  640.      list file or a picture) starts with the string "*PicBoot*: " (case
  641.      sensitive), then the rest of the comment is assumed to be
  642.      arguments, to be parsed like they had been found in a list file.
  643.  
  644.    *  UnpackILBM will not delete the temp file if it couldn't be
  645.      renamed to the original.
  646.  
  647.    *  Removed a piece of debug code in the OpenScreen() patch (it
  648.      flashed the screen). Harmless, but annoying.. :)
  649.  
  650.